package com.example.yupao.once;

import com.example.yupao.mapper.UserMapper;
import com.example.yupao.model.domain.User;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @Date 2024/6/18 17:25
 * @description: 定时任务插入数据进行模拟大量用户
 * .
 * @Author LittleNight
 */

@Component // 变成 spring 的一个bean,项目启动的时候就会被 spring 加载
public class InsertUsers {

    @Resource
    private UserMapper userMapper;

//    @Scheduled(fixedDelay = 5000) // 这个表示每隔 5 秒执行一次
    // @Scheduled(fixedDelay = 5000, fixedRate = Long.MAX_VALUE) // 这个表示每隔 5 秒执行一次
    public void doInsert(){

        long startTime = System.currentTimeMillis();
        int INSERT_NUM = 100000;
        for (int i = 0; i < INSERT_NUM; i++)
        {
            User user = new User();
            user.setUsername("假用户" + i);
            user.setUserAccount("fake" + i);
            user.setAvatarUrl("https://c-ssl.duitang.com/uploads/blog/202206/12/20220612164733_72d8b.jpg");
            user.setGender((byte)1);
            user.setUserPassword("1c785b05520f45c977e24aa78e7780e5"); // 原密码就是 123456789
            user.setPhone("123");
            user.setEmail("123");
            user.setTags("[]");
           user.setPlanetCode("" + i);

           userMapper.insert(user);
       }
       long endTime = System.currentTimeMillis();
        System.out.println("所需时间: " + (endTime - startTime));
   }

//    public static void main(String[] args) {
//        int i = 1;
//        System.out.println("" + i);
//    }
}
